Skip to content

Release v2.65.0#2410

Open
CarterLi wants to merge 81 commits into
masterfrom
dev
Open

Release v2.65.0#2410
CarterLi wants to merge 81 commits into
masterfrom
dev

Conversation

@CarterLi

Copy link
Copy Markdown
Member

Checklist

  • I have tested my changes locally.

CarterLi and others added 30 commits June 5, 2026 22:19
CarterLi and others added 12 commits June 20, 2026 01:21
* Packages (Linux): Improve emerge detection speed

* Fix code styling
* feat: add install-release package count support

* Apply suggestion from @codacy-production[bot]

Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com>

* Fix formatting of ffParsePropFileValues call

---------

Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com>
* Create zerene.txt

* Update z.inc

* Fixed z.inc

Changed the problematic line mismatch

* Update z.inc

* Update z.inc

more fixes to z.inc

* Remove duplicate name entry for Zerene logo

---------

Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 23, 2026 02:40
@codacy-production

codacy-production Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Not up to standards ⛔

🔴 Issues 12 critical · 2 high · 27 medium

Alerts:
⚠ 41 issues (≤ 0 issues of at least minor severity)

Results:
41 new issues

Category Results
ErrorProne 27 medium
2 high
Security 12 critical

View in Codacy

🟢 Metrics 134 complexity · 0 duplication

Metric Results
Complexity 134
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prepares the Fastfetch v2.65.0 release by updating multiple subsystems (GPU/CPU/display detection, package counting, config parsing UX, build system, and CI) and adding new features documented in the changelog.

Changes:

  • Expand detection/formatting capabilities (GPU PCIe link speed, x86 CPU code-name/technology, Wayland HDR via wp-color-management-v1, kmscon version/font, new package managers).
  • Improve robustness/UX (more precise JSON config error locations, better default CPU core-type behavior, assorted cleanup/refactors).
  • Update build/CI/release artifacts (CMake feature checks, workflow dependencies, changelog/schema updates, new logo).

Reviewed changes

Copilot reviewed 103 out of 106 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/options/logo.h Gate Chafa logo options behind FF_HAVE_CHAFA; extend JSON parse signature for error reporting.
src/options/logo.c Guard Chafa init/destroy/parse/generate; improve JSON parsing context (pkey).
src/options/general.h Extend JSON parse signature for error reporting (pkey).
src/options/general.c Track last JSON key parsed via pkey for better error messages.
src/options/display.h Extend JSON parse signature for error reporting (pkey).
src/options/display.c Track last JSON key parsed via pkey for better error messages.
src/modules/packages/packages.c Add porg + install-release; reorder format args to move aggregates to end.
src/modules/packages/option.h Add new package-manager flag bits for porg and install-release.
src/modules/monitor/monitor.c Switch serial format arg to use FFDisplayResult.serial directly.
src/modules/gpu/option.h Add GPU detection method egl-ext.
src/modules/gpu/gpu.c Add PCIe max/current speed formatting args; improve “no GPU” error messaging.
src/modules/display/display.c Print/display serial as string buffer; JSON result serial emitted as string/null.
src/modules/cpu/cpu.c Add {code-name}/{technology} format args on x86; default showPeCoreCount to true.
src/modules/bluetoothradio/bluetoothradio.c Return false on “no devices” error path.
src/modules/bluetooth/bluetooth.c Return false on “no devices” error path.
src/logo/image/image.c Normalize FF_HAVE_CHAFA usage; refactor cache read path.
src/logo/ascii/z/zerene.txt Add new “Zerene” ASCII logo asset.
src/logo/ascii/z.inc Register Zerene logo (including explicit colorKeys for 1-color logo).
src/fastfetch.c Mark help/version helpers as cold; improve JSON config error messages with module/key context.
src/detection/wifi/wifi_bsd.c Improve FreeBSD WPA auth-mode reporting (WPA/WPA2/WPA1+2).
src/detection/vulkan/vulkan.c Initialize GPU PCIe speed fields for Vulkan results.
src/detection/version/version.c Centralize FF_STR macros via common/strutil.h.
src/detection/terminalshell/terminalshell.c Add kmscon terminal version detection.
src/detection/terminalfont/terminalfont_linux.c Add kmscon font detection via config parsing.
src/detection/packages/packages.h Add counts for installrelease and porg.
src/detection/packages/packages_linux.c Improve emerge counting perf; add porg/install-release detection; use auto-close DIR helpers.
src/detection/os/os_linux.c Centralize FF_STR macros via common/strutil.h.
src/detection/os/os_apple.m Add macOS codename mapping for version 27; improve external display serial extraction.
src/detection/opengl/opengl_shared.c Refactor EGL detection to load symbols differently and suppress IO during probing.
src/detection/opencl/opencl.c Initialize GPU PCIe speed fields for OpenCL results.
src/detection/libc/libc_linux.c Centralize FF_STR macros via common/strutil.h.
src/detection/libc/libc_android.c Centralize FF_STR macros via common/strutil.h.
src/detection/gpu/nvml.h Expand/annotate NVML declarations; add PCIe + temperature struct version helpers.
src/detection/gpu/intel_drm.h Make drm header include path more portable (<drm.h> vs <drm/drm.h>).
src/detection/gpu/igcl.h Add missing <stdbool.h>; update struct layout; add PCIe property/state structs.
src/detection/gpu/gpu.h Add PCIe speed fields to GPU result; broaden DRM availability checks; declare ffGPUFillVendorByDeviceName.
src/detection/gpu/gpu.c Add EGL_EXT device enumeration backend; normalize vendor names; add type-fallback helper.
src/detection/gpu/gpu_windows.c Improve PCI info lookup/cache and collect PCIe link info via devnode properties.
src/detection/gpu/gpu_sunos.c Initialize GPU PCIe speed fields.
src/detection/gpu/gpu_pci.c Centralize FF_STR macros via common/strutil.h.
src/detection/gpu/gpu_obsd.c Prefer DRM path on OpenBSD AUTO when available; otherwise PCI path.
src/detection/gpu/gpu_nvidia.c Switch to nvmlDeviceGetTemperatureV; add PCIe gen/lanes queries.
src/detection/gpu/gpu_nbsd.c Initialize GPU PCIe speed fields.
src/detection/gpu/gpu_linux.c Refactor includes; add PCIe speed parsing from sysfs; reuse type fallback helper.
src/detection/gpu/gpu_intel.c Add IGCL PCIe max/current speed detection hooks.
src/detection/gpu/gpu_haiku.c Initialize GPU PCIe speed fields.
src/detection/gpu/gpu_gnu.c Initialize GPU PCIe speed fields.
src/detection/gpu/gpu_drm.c Make DRM header include path robust; remove libdrm_amdgpu dependency; add PCIe + VRAM type extensions.
src/detection/gpu/gpu_driver_specific.h Extend driver-specific result struct with PCIe speed outputs (and shared mem/mem type pointers).
src/detection/gpu/gpu_bsddrm.c New BSD DRM-based GPU enumeration helper.
src/detection/gpu/gpu_bsd.c Switch BSD AUTO path to new DRM helper; remove old drmGetDevices implementation.
src/detection/gpu/gpu_apple.c Initialize GPU PCIe speed fields.
src/detection/gpu/gpu_amd.c Add ADL chipset info retrieval to infer PCIe speed.
src/detection/gpu/d3dkmthk.h Add missing KMT PnP key query types.
src/detection/gpu/asahi_drm.h Make drm header include path more portable (<drm.h> vs <drm/drm.h>).
src/detection/gpu/adl.h Declare ADL2_Adapter_ChipSetInfo_Get.
src/detection/displayserver/linux/xlib.c Split EDID manufacture date vs serial parsing calls.
src/detection/displayserver/linux/xcb.c Split EDID manufacture date vs serial parsing calls.
src/detection/displayserver/linux/wayland/zwlr-output.c Remove zwlr output backend implementation.
src/detection/displayserver/linux/wayland/xdg-output-unstable-v1-protocol.c Fix protocol type table entry for wl_output_interface.
src/detection/displayserver/linux/wayland/wp-color-management-v1-protocol.c Add generated wp-color-management-v1 protocol bindings.
src/detection/displayserver/linux/wayland/wlr-output-management-unstable-v1-protocol.c Remove generated wlr output-management protocol bindings.
src/detection/displayserver/linux/wayland/wayland.h Rename protocol enum values; serial becomes FFstrbuf; add wp-color manager handle.
src/detection/displayserver/linux/wayland/wayland.c Rework protocol selection; add wp-color-management-v1 hookup; improve EDID validation/serial parsing.
src/detection/displayserver/linux/wayland/kde-output.c Add KDE output registry path; set primary via priority; serial becomes FFstrbuf.
src/detection/displayserver/linux/wayland/kde-output-order-v1-protocol.c Remove generated KDE output-order protocol binding.
src/detection/displayserver/linux/wayland/kde-output-order-v1-client-protocol.h Remove generated KDE output-order client header.
src/detection/displayserver/linux/wayland/global-output.c Rename API markers; add wp-color HDR-enabled detection; serial becomes FFstrbuf.
src/detection/displayserver/displayserver.h Change display serial type from uint32_t to FFstrbuf.
src/detection/displayserver/displayserver.c Initialize display serial FFstrbuf.
src/detection/displayserver/displayserver_windows.c Split EDID manufacture date vs serial parsing calls.
src/detection/displayserver/displayserver_apple.c Improve serial resolution on macOS (EDID/IOKit fallback); mark builtin once; validate EDID.
src/detection/cpu/cpu.h Add x86-only codeName and technology fields + helper prototype.
src/detection/cpu/cpu.c Invoke x86-specific detection hook on x86 builds.
src/detection/cpu/cpu_windows.c Improve core-type grouping using EfficiencyClass; adjust core counting signature.
src/detection/cpu/cpu_linux.c Refactor cpufreq reading via openat; fix core topology counting and FD cleanup paths.
src/detection/codec/codec_windows.cpp Make MFT enum lazy for Win 8.1; adjust encoder detection + platformApi labeling.
src/detection/codec/codec_linux.c Remove hard libdrm dependency for VA-API; iterate /dev/dri/renderD*; fix VDPAU showType logic.
src/detection/brightness/brightness_linux.c Use FF_AUTO_CLOSE_DIR for backlight scanning.
src/common/strutil.h Centralize FF_STR macros; add always-inline attributes to helpers.
src/common/mallocHelper.h Add attributes header; mark free wrapper always-inline/non-null.
src/common/io.h Convert cleanup wrappers to void and always-inline; standardize FD/DIR/FILE auto-close helpers.
src/common/impl/processing_linux.c Only treat candidate exe path as exe if it is executable.
src/common/impl/networking_linux.c Adjust non-threading fast path sendto flags/logging (PublicIP reliability changes).
src/common/impl/netif_gnu.c Centralize FF_STR macros via common/strutil.h.
src/common/impl/init.c Move Windows console CP setup earlier; emit linux-headers version in feature list.
src/common/impl/FFPlatform_unix.c Treat 0-length readlink as invalid.
src/common/impl/edidHelper.c Split manufacture date and serial parsing; introduce alphanumeric serial extraction.
src/common/impl/debug_windows.c Add ConfigRet->Win32 error mapping helper.
src/common/edidHelper.h Update EDID helper API (manufacture date + serial as FFstrbuf).
src/common/debug.h Declare ffDebugConfigRet.
src/common/attributes.h Add FF_A_COLD attribute macro.
doc/json_schema.json Document new CPU/GPU placeholders and new GPU detection method; reorder packages placeholders docs.
debian/changelog.tpl Add Ubuntu template entry for 2.64.2.
CMakeLists.txt Require linux headers on Linux; derive PACKAGE_MANAGERS from option.h; add cpu_x86.c; adjust feature defines to PUBLIC; update wayland protocol sources.
CHANGELOG.md Add v2.65.0 release notes.
.gitignore Anchor and broaden build directory ignore patterns.
.github/workflows/ci.yml Add job dependency chaining (needs) starting with spellcheck/no-features-test.
.github/workflows/build-spellcheck.yml Install codespell via pip instead of apt.
.github/workflows/build-openbsd-amd64.yml Bump OpenBSD version and package versions.
.codespellrc Expand skip list for generated/protocol/build files; add additional ignored words.

Comment thread src/common/impl/edidHelper.c
Comment thread src/detection/gpu/gpu_intel.c
Comment thread src/detection/gpu/gpu.c Outdated
Comment thread src/detection/wifi/wifi_bsd.c
Comment thread src/common/impl/networking_linux.c
Comment thread src/modules/monitor/monitor.c
Comment thread doc/json_schema.json Outdated
Comment thread src/detection/gpu/gpu.c Outdated
Copilot AI review requested due to automatic review settings June 23, 2026 03:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 103 out of 106 changed files in this pull request and generated 6 comments.

Comment thread src/detection/cpu/cpu.c
Comment thread src/detection/codec/codec_linux.c Outdated
Comment thread src/common/impl/networking_linux.c
Comment thread src/detection/gpu/gpu_bsddrm.c
Comment thread src/detection/cpu/cpu_linux.c Outdated
Comment thread debian/changelog.tpl
CarterLi added 2 commits June 23, 2026 13:16
The code quality is to be improved...
Copilot AI review requested due to automatic review settings June 23, 2026 08:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 104 out of 107 changed files in this pull request and generated 2 comments.

Comment thread CMakeLists.txt
Comment on lines +66 to +71
if(LINUX)
CHECK_INCLUDE_FILE("linux/version.h" HAVE_LINUX_VERSION_H)
if(NOT HAVE_LINUX_VERSION_H)
message(FATAL_ERROR "Linux headers (linux/version.h) not found! Please install linux-headers package.")
endif()
endif()
Comment thread debian/changelog.tpl
Comment on lines +1 to +5
fastfetch (2.64.2~#UBUNTU_CODENAME#) #UBUNTU_CODENAME#; urgency=medium

* Update to 2.64.2

-- Carter Li <zhangsongcui@live.cn> Mon, 08 Jun 2026 15:45:11 +0800
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants